package com.hzw.saas.web.app.schedule.param;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.List;

@Data
@Accessors(chain = true)
@ApiModel(value = "日程会议参数")
public class UserScheduleMeetingAddParam {

    @NotBlank(message = "标题不可为空")
    @ApiModelProperty(value = "会议议题", position = 1)
    private String meetingTitle;

    @ApiModelProperty(value = "会议内容/介绍", position = 2)
    private String meetingContent;

    @ApiModelProperty(value = "会议房间", position = 3)
    private String meetingRoom;

    @ApiModelProperty(value = "会议号", position = 4)
    private String meetingNum;

    @NotNull(message = "类型不可为空")
    @ApiModelProperty(value = "会议类型 1:线上 2:线下 3:线上+线下", position = 5)
    private Integer meetingType;

    @NotNull(message = "提醒日期不可为空")
    @ApiModelProperty(value = "最近一次提醒日期 yyyy-MM-dd HH:mm:ss", position = 6)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime dueDate;

    @ApiModelProperty(value = "提醒规则 rrule", position = 7)
    private String repeatFlag;

    @ApiModelProperty(value = "是否跳过节假日 0:否 1:是", position = 6)
    private Integer skipWeekend;

    @ApiModelProperty(value = "提醒提前量", position = 8)
    private String aheadTime;

    @ApiModelProperty(value = "时间段 开始时间 yyyy-MM-dd HH:mm:ss", position = 9)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;

    @ApiModelProperty(value = "时间段 结束时间 yyyy-MM-dd HH:mm:ss", position = 10)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;

    @ApiModelProperty(value = "相关联的用户ids", position = 11)
    private List<String> userIds;

}
